WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::autodiff Namespace Reference

Namespaces

namespace  internal
 

Classes

struct  CompatibleJetOperands
 
struct  CompatibleJetOperands< Jet< T, N > >
 
struct  CompatibleJetOperands< T >
 
struct  CompatibleJetOperands<>
 
struct  Jet
 
struct  PromotableJetOperands
 

Functions

template<typename T , int N>
Jet< T, N > const & operator+ (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > operator- (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > operator+ (const Jet< T, N > &f, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > operator+ (const Jet< T, N > &f, T s)
 
template<typename T , int N>
Jet< T, N > operator+ (T s, const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > operator- (const Jet< T, N > &f, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > operator- (const Jet< T, N > &f, T s)
 
template<typename T , int N>
Jet< T, N > operator- (T s, const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > operator* (const Jet< T, N > &f, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > operator* (const Jet< T, N > &f, T s)
 
template<typename T , int N>
Jet< T, N > operator* (T s, const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > operator/ (const Jet< T, N > &f, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > operator/ (T s, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > operator/ (const Jet< T, N > &f, T s)
 
 WOLF_AUTODIFF_DEFINE_JET_COMPARISON_OPERATOR (<) WOLF_AUTODIFF_DEFINE_JET_COMPARISON_OPERATOR(<
 
bool IsFinite (double x)
 
bool IsInfinite (double x)
 
bool IsNaN (double x)
 
bool IsNormal (double x)
 
template<typename T , int N>
Jet< T, N > abs (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > copysign (const Jet< T, N > &f, const Jet< T, N > g)
 
template<typename T , int N>
Jet< T, N > log (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > log10 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > log1p (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > exp (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > expm1 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > sqrt (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > cos (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > acos (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > sin (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > asin (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > tan (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > atan (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > sinh (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > cosh (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > tanh (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > floor (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > ceil (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > cbrt (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > exp2 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > log2 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > hypot (const Jet< T, N > &x, const Jet< T, N > &y)
 
template<typename T , int N>
Jet< T, N > hypot (const Jet< T, N > &x, const Jet< T, N > &y, const Jet< T, N > &z)
 
template<typename T , int N>
Jet< T, N > fma (const Jet< T, N > &x, const Jet< T, N > &y, const Jet< T, N > &z)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) fmax (const Lhs &x, const Rhs &y)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) fmin (const Lhs &x, const Rhs &y)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) fdim (const Lhs &f, const Rhs &g)
 
template<typename T , int N>
Jet< T, N > erf (const Jet< T, N > &x)
 
template<typename T , int N>
Jet< T, N > erfc (const Jet< T, N > &x)
 
double BesselJ0 (double x)
 
double BesselJ1 (double x)
 
double BesselJn (int n, double x)
 
template<typename T , int N>
Jet< T, N > BesselJ0 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > BesselJ1 (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > BesselJn (int n, const Jet< T, N > &f)
 
template<typename T , int N>
bool isfinite (const Jet< T, N > &f)
 
template<typename T , int N>
bool isinf (const Jet< T, N > &f)
 
template<typename T , int N>
bool isnan (const Jet< T, N > &f)
 
template<typename T , int N>
bool isnormal (const Jet< T, N > &f)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool isless (const Lhs &f, const Rhs &g)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool isgreater (const Lhs &f, const Rhs &g)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool islessequal (const Lhs &f, const Rhs &g)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool islessgreater (const Lhs &f, const Rhs &g)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool isgreaterequal (const Lhs &f, const Rhs &g)
 
template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool isunordered (const Lhs &f, const Rhs &g)
 
template<typename T , int N>
int fpclassify (const Jet< T, N > &f)
 
template<typename T , int N>
bool signbit (const Jet< T, N > &f)
 
template<typename T , int N>
 WOLF_AUTODIFF_DEPRECATED_WITH_MSG ("wolf::autodiff::IsFinite will be removed in a future Ceres Solver release. Please " "use wolf::autodiff::isfinite.") inline bool IsFinite(const Jet< T
 
template<typename T , int N>
 WOLF_AUTODIFF_DEPRECATED_WITH_MSG ("wolf::autodiff::IsNaN will be removed in a future Ceres Solver release. Please use " "wolf::autodiff::isnan.") inline bool IsNaN(const Jet< T
 
template<typename T , int N>
 WOLF_AUTODIFF_DEPRECATED_WITH_MSG ("wolf::autodiff::IsNormal will be removed in a future Ceres Solver release. Please " "use wolf::autodiff::isnormal.") inline bool IsNormal(const Jet< T
 
template<typename T , int N>
 WOLF_AUTODIFF_DEPRECATED_WITH_MSG ("wolf::autodiff::IsInfinite will be removed in a future Ceres Solver release. " "Please use wolf::autodiff::isinf.") inline bool IsInfinite(const Jet< T
 
template<typename T , int N>
Jet< T, N > atan2 (const Jet< T, N > &g, const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > norm (const Jet< T, N > &f)
 
template<typename T , int N>
Jet< T, N > pow (const Jet< T, N > &f, double g)
 
template<typename T , int N>
Jet< T, N > pow (T f, const Jet< T, N > &g)
 
template<typename T , int N>
Jet< T, N > pow (const Jet< T, N > &f, const Jet< T, N > &g)
 
template<typename T , int N>
std::ostream & operator<< (std::ostream &s, const Jet< T, N > &z)
 
template<int N>
Jet< double, N > remainder (const Jet< double, N > &_x, long double _y)
 

Variables

template<typename... Types>
constexpr bool CompatibleJetOperands_v = CompatibleJetOperands<Types...>::value
 
template<typename... Types>
constexpr bool PromotableJetOperands_v = PromotableJetOperands<Types...>::value
 
N & f
 

Function Documentation

◆ abs()

template<typename T , int N>
Jet< T, N > wolf::autodiff::abs ( const Jet< T, N > &  f)
inline

◆ acos()

template<typename T , int N>
Jet< T, N > wolf::autodiff::acos ( const Jet< T, N > &  f)
inline

◆ asin()

template<typename T , int N>
Jet< T, N > wolf::autodiff::asin ( const Jet< T, N > &  f)
inline

◆ atan()

template<typename T , int N>
Jet< T, N > wolf::autodiff::atan ( const Jet< T, N > &  f)
inline

◆ atan2()

template<typename T , int N>
Jet< T, N > wolf::autodiff::atan2 ( const Jet< T, N > &  g,
const Jet< T, N > &  f 
)
inline

◆ BesselJ0() [1/2]

template<typename T , int N>
Jet< T, N > wolf::autodiff::BesselJ0 ( const Jet< T, N > &  f)
inline

◆ BesselJ0() [2/2]

double wolf::autodiff::BesselJ0 ( double  x)
inline

◆ BesselJ1() [1/2]

template<typename T , int N>
Jet< T, N > wolf::autodiff::BesselJ1 ( const Jet< T, N > &  f)
inline

◆ BesselJ1() [2/2]

double wolf::autodiff::BesselJ1 ( double  x)
inline

◆ BesselJn() [1/2]

template<typename T , int N>
Jet< T, N > wolf::autodiff::BesselJn ( int  n,
const Jet< T, N > &  f 
)
inline

◆ BesselJn() [2/2]

double wolf::autodiff::BesselJn ( int  n,
double  x 
)
inline

◆ cbrt()

template<typename T , int N>
Jet< T, N > wolf::autodiff::cbrt ( const Jet< T, N > &  f)
inline

◆ ceil()

template<typename T , int N>
Jet< T, N > wolf::autodiff::ceil ( const Jet< T, N > &  f)
inline

◆ copysign()

template<typename T , int N>
Jet< T, N > wolf::autodiff::copysign ( const Jet< T, N > &  f,
const Jet< T, N >  g 
)
inline

◆ cos()

template<typename T , int N>
Jet< T, N > wolf::autodiff::cos ( const Jet< T, N > &  f)
inline

◆ cosh()

template<typename T , int N>
Jet< T, N > wolf::autodiff::cosh ( const Jet< T, N > &  f)
inline

◆ erf()

template<typename T , int N>
Jet< T, N > wolf::autodiff::erf ( const Jet< T, N > &  x)
inline

◆ erfc()

template<typename T , int N>
Jet< T, N > wolf::autodiff::erfc ( const Jet< T, N > &  x)
inline

◆ exp()

template<typename T , int N>
Jet< T, N > wolf::autodiff::exp ( const Jet< T, N > &  f)
inline

◆ exp2()

template<typename T , int N>
Jet< T, N > wolf::autodiff::exp2 ( const Jet< T, N > &  f)
inline

◆ expm1()

template<typename T , int N>
Jet< T, N > wolf::autodiff::expm1 ( const Jet< T, N > &  f)
inline

◆ fdim()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) wolf::autodiff::fdim ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ floor()

template<typename T , int N>
Jet< T, N > wolf::autodiff::floor ( const Jet< T, N > &  f)
inline

◆ fma()

template<typename T , int N>
Jet< T, N > wolf::autodiff::fma ( const Jet< T, N > &  x,
const Jet< T, N > &  y,
const Jet< T, N > &  z 
)
inline

◆ fmax()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) wolf::autodiff::fmax ( const Lhs &  x,
const Rhs &  y 
)
inline

◆ fmin()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
decltype(auto) wolf::autodiff::fmin ( const Lhs &  x,
const Rhs &  y 
)
inline

◆ fpclassify()

template<typename T , int N>
int wolf::autodiff::fpclassify ( const Jet< T, N > &  f)
inline

◆ hypot() [1/2]

template<typename T , int N>
Jet< T, N > wolf::autodiff::hypot ( const Jet< T, N > &  x,
const Jet< T, N > &  y 
)
inline

◆ hypot() [2/2]

template<typename T , int N>
Jet< T, N > wolf::autodiff::hypot ( const Jet< T, N > &  x,
const Jet< T, N > &  y,
const Jet< T, N > &  z 
)
inline

◆ isfinite()

template<typename T , int N>
bool wolf::autodiff::isfinite ( const Jet< T, N > &  f)
inline

◆ IsFinite()

bool wolf::autodiff::IsFinite ( double  x)
inline

◆ isgreater()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::isgreater ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ isgreaterequal()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::isgreaterequal ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ isinf()

template<typename T , int N>
bool wolf::autodiff::isinf ( const Jet< T, N > &  f)
inline

◆ IsInfinite()

bool wolf::autodiff::IsInfinite ( double  x)
inline

◆ isless()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::isless ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ islessequal()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::islessequal ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ islessgreater()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::islessgreater ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ isnan()

template<typename T , int N>
bool wolf::autodiff::isnan ( const Jet< T, N > &  f)
inline

◆ IsNaN()

bool wolf::autodiff::IsNaN ( double  x)
inline

◆ isnormal()

template<typename T , int N>
bool wolf::autodiff::isnormal ( const Jet< T, N > &  f)
inline

◆ IsNormal()

bool wolf::autodiff::IsNormal ( double  x)
inline

◆ isunordered()

template<typename Lhs , typename Rhs , std::enable_if_t< CompatibleJetOperands_v< Lhs, Rhs > > * = nullptr>
bool wolf::autodiff::isunordered ( const Lhs &  f,
const Rhs &  g 
)
inline

◆ log()

template<typename T , int N>
Jet< T, N > wolf::autodiff::log ( const Jet< T, N > &  f)
inline

◆ log10()

template<typename T , int N>
Jet< T, N > wolf::autodiff::log10 ( const Jet< T, N > &  f)
inline

◆ log1p()

template<typename T , int N>
Jet< T, N > wolf::autodiff::log1p ( const Jet< T, N > &  f)
inline

◆ log2()

template<typename T , int N>
Jet< T, N > wolf::autodiff::log2 ( const Jet< T, N > &  f)
inline

◆ norm()

template<typename T , int N>
Jet< T, N > wolf::autodiff::norm ( const Jet< T, N > &  f)
inline

◆ operator*() [1/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator* ( const Jet< T, N > &  f,
const Jet< T, N > &  g 
)
inline

◆ operator*() [2/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator* ( const Jet< T, N > &  f,
T  s 
)
inline

◆ operator*() [3/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator* ( T  s,
const Jet< T, N > &  f 
)
inline

◆ operator+() [1/4]

template<typename T , int N>
Jet< T, N > const & wolf::autodiff::operator+ ( const Jet< T, N > &  f)
inline

◆ operator+() [2/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator+ ( const Jet< T, N > &  f,
const Jet< T, N > &  g 
)
inline

◆ operator+() [3/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator+ ( const Jet< T, N > &  f,
T  s 
)
inline

◆ operator+() [4/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator+ ( T  s,
const Jet< T, N > &  f 
)
inline

◆ operator-() [1/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator- ( const Jet< T, N > &  f)
inline

◆ operator-() [2/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator- ( const Jet< T, N > &  f,
const Jet< T, N > &  g 
)
inline

◆ operator-() [3/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator- ( const Jet< T, N > &  f,
T  s 
)
inline

◆ operator-() [4/4]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator- ( T  s,
const Jet< T, N > &  f 
)
inline

◆ operator/() [1/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator/ ( const Jet< T, N > &  f,
const Jet< T, N > &  g 
)
inline

◆ operator/() [2/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator/ ( const Jet< T, N > &  f,
T  s 
)
inline

◆ operator/() [3/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::operator/ ( T  s,
const Jet< T, N > &  g 
)
inline

◆ operator<<()

template<typename T , int N>
std::ostream & wolf::autodiff::operator<< ( std::ostream &  s,
const Jet< T, N > &  z 
)
inline

◆ pow() [1/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::pow ( const Jet< T, N > &  f,
const Jet< T, N > &  g 
)
inline

◆ pow() [2/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::pow ( const Jet< T, N > &  f,
double  g 
)
inline

◆ pow() [3/3]

template<typename T , int N>
Jet< T, N > wolf::autodiff::pow ( T  f,
const Jet< T, N > &  g 
)
inline

◆ remainder()

template<int N>
Jet< double, N > wolf::autodiff::remainder ( const Jet< double, N > &  _x,
long double  _y 
)
inline

◆ signbit()

template<typename T , int N>
bool wolf::autodiff::signbit ( const Jet< T, N > &  f)
inline

◆ sin()

template<typename T , int N>
Jet< T, N > wolf::autodiff::sin ( const Jet< T, N > &  f)
inline

◆ sinh()

template<typename T , int N>
Jet< T, N > wolf::autodiff::sinh ( const Jet< T, N > &  f)
inline

◆ sqrt()

template<typename T , int N>
Jet< T, N > wolf::autodiff::sqrt ( const Jet< T, N > &  f)
inline

◆ tan()

template<typename T , int N>
Jet< T, N > wolf::autodiff::tan ( const Jet< T, N > &  f)
inline

◆ tanh()

template<typename T , int N>
Jet< T, N > wolf::autodiff::tanh ( const Jet< T, N > &  f)
inline

◆ WOLF_AUTODIFF_DEFINE_JET_COMPARISON_OPERATOR()

wolf::autodiff::WOLF_AUTODIFF_DEFINE_JET_COMPARISON_OPERATOR ( )

◆ WOLF_AUTODIFF_DEPRECATED_WITH_MSG() [1/4]

template<typename T , int N>
wolf::autodiff::WOLF_AUTODIFF_DEPRECATED_WITH_MSG ( "wolf::autodiff::IsFinite will be removed in a future Ceres Solver release. Please " "use wolf::autodiff::isfinite."  ) const

◆ WOLF_AUTODIFF_DEPRECATED_WITH_MSG() [2/4]

template<typename T , int N>
wolf::autodiff::WOLF_AUTODIFF_DEPRECATED_WITH_MSG ( "wolf::autodiff::IsInfinite will be removed in a future Ceres Solver release. " "Please use wolf::autodiff::isinf."  ) const

◆ WOLF_AUTODIFF_DEPRECATED_WITH_MSG() [3/4]

template<typename T , int N>
wolf::autodiff::WOLF_AUTODIFF_DEPRECATED_WITH_MSG ( "wolf::autodiff::IsNaN will be removed in a future Ceres Solver release. Please use " "wolf::autodiff::isnan."  ) const

◆ WOLF_AUTODIFF_DEPRECATED_WITH_MSG() [4/4]

template<typename T , int N>
wolf::autodiff::WOLF_AUTODIFF_DEPRECATED_WITH_MSG ( "wolf::autodiff::IsNormal will be removed in a future Ceres Solver release. Please " "use wolf::autodiff::isnormal."  ) const

Variable Documentation

◆ CompatibleJetOperands_v

template<typename... Types>
constexpr bool wolf::autodiff::CompatibleJetOperands_v = CompatibleJetOperands<Types...>::value
inlineconstexpr

◆ f

N & wolf::autodiff::f
Initial value:
{
return isfinite(f)
N & f
Definition: jet.h:1085
bool isfinite(const Jet< T, N > &f)
Definition: jet.h:973

◆ PromotableJetOperands_v

template<typename... Types>
constexpr bool wolf::autodiff::PromotableJetOperands_v = PromotableJetOperands<Types...>::value
inlineconstexpr